# 通过调用 task.result() 方法来获取协程的返回值
import asyncio


async def coroutine_example():
    await asyncio.sleep(1)
    return '这是一个结果'


coro = coroutine_example()

loop = asyncio.get_event_loop()
task = loop.create_task(coro)
print('运行情况：',
      task)  # 运行情况： <Task pending coro=<coroutine_example() running at D:/SourceCode/original_tools/built_in/asyncio-test/get-result-asy-coroutine.py:4>>

try:
    print('返回值：', task.result())
except:
    print('task未完成')  # task未完成

loop.run_until_complete(task)
print('运行情况2：',
      task)  # 运行情况2： <Task finished coro=<coroutine_example() done, defined at D:/SourceCode/original_tools/built_in/asyncio-test/get-result-asy-coroutine.py:4> result='这是一个结果'>

print('返回值2：', task.result())  # 返回值2： 这是一个结果
loop.close()
